home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / dviware / beebe / updates / 00mail.10 < prev    next >
Text File  |  1990-10-01  |  18KB  |  388 lines

  1. 20-Aug-87 08:46:00-MDT,18698;000000000000
  2. Date: Thu 20 Aug 87 08:46:00-MDT
  3. From: "Nelson H.F. Beebe" <Beebe@SCIENCE.UTAH.EDU>
  4. Subject: DVI driver family update #10
  5. To: "DVI mailing list": ;
  6. cc: BEEBE@SCIENCE.UTAH.EDU, "new addresses": ;
  7. X-US-Mail: "Center for Scientific Computation, South Physics, University of Utah, Salt Lake City, UT 84112"
  8. X-Telephone: (801) 581-5254
  9. Message-ID: <12328007179.15.BEEBE@SCIENCE.UTAH.EDU>
  10.  
  11.                    DVI Driver Family Update #10
  12.                            [18-Aug-87]
  13.  
  14. Version 2.08 of the driver family is now ready.  Except for
  15. the Atari support, this is a maintenance release only, with
  16. minor cleanup, a couple of small bug fixes, and cosmetic
  17. changes to make the installation process smoother, with no
  18. unnecessary compilation warning messages which have been
  19. causing concern to some users.
  20.  
  21. Unless you have been impacted by one of the bugs, or want
  22. the Atari support, or the test version of the Canon LBP-A2
  23. driver, it should not be necessary to update your sources.
  24. I will, however, provide the European redistribution sites
  25. for Bitnet and Janet with up-to-date versions.  Because
  26. these changes affect a large number of modules, it is not
  27. worthwhile here to provide difference listings.
  28.  
  29. This work had to be completed in time for me to make new
  30. master diskettes to take to the TUG meeting in Seattle next
  31. week.  I had hoped to finish the support for resident Imagen
  32. fonts in time for this release, but it will have to wait.
  33.  
  34. Beginning September 1987, I expect that IBM PC floppies of
  35. the DVI driver family will be available from from Personal
  36. TeX.  The details will be ironed out at the TUG meeting next
  37. week, and announced on TeXHaX and this mailing list.
  38.  
  39. For the European Bitnet server: Contact rz92@dhdurz1.bitnet
  40.  
  41. For the British Janet server: Contact AbbottP@uk.ac.aston.mail
  42.  
  43. The subject of how to set up a VMS printer spooler for the
  44. HP LaserJet has come up repeatedly.  Portia Shao reported
  45. the following approach recently:
  46.  
  47. >> Date: Wed, 13 May 87 18:42 PDT
  48. >> From: Portia 616-2635 <PORTIA@ENGVAX.SCG.HAC.COM>
  49. >> Subject: re: setting up HP laserjet +
  50. >> 
  51. >> In response to the person asking about setup modules etc for the laserjet+
  52. >> 
  53. >> This is how we set up our HP laser jet + on our microvax II.
  54. >> 
  55. >> in systartup.com we have:
  56. >> $define/system laserjet $terminal7:     ! substibute your terminal line here
  57. >> $set terminal laserjet/perm/nobroadcast/notypeahead/nowrap -
  58. >>         /speed=9600/width=80/page=0/device_type = unknown
  59. >> $set device /spooled=(sys$print, sys$sysdevice:) laserjet
  60. >> $initialize/queue/start/lib=laserjetlib/separate=(reset=reset) -
  61. >>         /on=laserjet/default=flag sys$print
  62. >> $define/form/stock=default portrait 1 /desc="Portrait Courier" -
  63. >>         /setup=(portrait) /length=60/wid=80/margin=(bottom=0)/nowrap/notrunc
  64. >> $define/form/stock=default landscape 2 /desc="Landscape"/setup=(landscape) -
  65. >>         /length=45/wid=132/margin=(bottom=0)/nowrap/notrunc
  66. >> $define/form/stock=default compressed 3 /desc="Compressed Portrait" -
  67. >>         /setup=(compressed) /length=80/wid=120/margin=(bottom=0) -
  68. >>         /nowrap/notrunc
  69. >> 
  70. >> and we have the following modules in sys$library:laserjetlib.tlb
  71. >> COMPRESSED,LANDSCAPE,PORTRAIT,RESET
  72. >> 
  73. >> where compressed.txt has the following ONE line
  74. >> 
  75. >> <esc>E<esc>&l0O<esc>&a5l80M<esc>&a0R<esc>&l8D<esc>&l80F<esc>(8U<esc>(s0p16.66h
  76. >> 8.5v0s0b0T
  77. >> 
  78. >> landscape.txt has the following ONE LINE
  79. >> 
  80. >> <esc>E<esc>&l10<esc>&l55F<esc>(8U<esc>(s0p10h12v0s0b3T
  81. >> 
  82. >> portrait.txt has the following ONE line
  83. >> 
  84. >> <esc>E<esc>&l0O<esc>&a5180M<esc>&a0R<esc>&l60F<esc>(8U<esc>(s0p10h12v0s0b3T
  85. >> 
  86. >> and reset.txt has the following line
  87. >> 
  88. >> <esc>E
  89. >> 
  90. >> -- Portia Shao              UUCP -- {allegra|ihnp4}!scgvaxd!engvax!portia
  91. >>    Hughes Aircraft Co.      ARPA -- portia@engvax.scg.hac.com
  92. >>                              or  -- portia%engvax.uucp@oberon.usc.edu
  93. >>    (213) 616-2635
  94. >> 
  95.  
  96. Jerry Leichter at Yale has extended this, and here is his
  97. current recommendation:
  98.  
  99. >> Reply-To: "Jerry Leichter" <leichter@venus.ycc.yale.edu>
  100. >> 
  101. >> The HPLJ setup I use is derived from Portia's, with some
  102. >> changes here and there.  (I've sent mine back to her.)
  103. >> 
  104. >> SET TERM/NOINTERACTIVE, which is a synonym for /PASSALL, is
  105. >> WRONG.  (It's also obsolete, and no longer appears in
  106. >> current documentation.)  The problem with doing that is that
  107. >> it disables XON/XOFF handling.  The Laserjet uses XON/XOFF
  108. >> signaling; I don't know to what extent it might happen
  109. >> during normal operation, but it will certainly XOFF the host
  110. >> if, for example, it runs out of paper.  If the line is set
  111. >> /NOINTERACTIVE, you can lose characters.  With XON/XOFF, I
  112. >> am running my Laserjet at 19.2KB, rather than 9600.  The
  113. >> speedup is minor, but it IS there.  I suspect the printer
  114. >> WILL send XOFF's at this speed on a fairly regular basis,
  115. >> since it's faster than the printer can actually print!
  116. >> 
  117. >> The setup I use is:
  118. >> 
  119. >> $ define/system SYS$LASERJET CSA0:
  120. >> $ set terminal SYS$LASERJET/perm/nobroadcast/notypeahead/nowrap -
  121. >>         /speed=9600/width=80/page=0/device_type=unknown
  122. >> $ set device /spooled=(SYS$PRINT,SYS$SYSDEVICE:) SYS$LASERJET
  123. >> $ initialize/queue/start/lib=laserjetlib/separate=(reset=reset) -
  124. >>         /on=SYS$LASERJET/default=(flag,form=portrait) SYS$PRINT
  125. >> $ define/form/stock=default portrait 1 /desc="Portrait Courier" -         
  126. >>         /setup=(portrait) /length=60/wid=80/margin=(bottom=0)/wrap/notrunc
  127. >> $ define/form/stock=default landscape 2 /desc="Landscape"/setup=(landscape) -
  128. >>         /length=45/wid=132/margin=(bottom=0)/wrap/notrunc
  129. >> $ define/form/stock=default compressed 3 /desc="Compressed Portrait" -
  130. >>         /setup=(compressed) /length=80/wid=120/margin=(bottom=0) -
  131. >>         /wrap/notrunc
  132. >> $ define/form/stock=default clandscape 4 /desc="Compressed Landscape" -
  133. >>         /setup=(clandscape) -
  134. >>         /length=64/wid=176/margin=(bottom=0)/wrap/notrunc
  135. >> 
  136. >> (This is on a MicroVAX, with the printer connected to the
  137. >> console port.  The printer has an additional font cartridge,
  138. >> which contains the font used by the CLANDSCAPE form.
  139. >> /speed=9600 on the set terminal command is wrong (I actually
  140. >> run at 19200) but irrelevent since the port involved doesn't
  141. >> have a software-settable speed anyway.  There are a set of
  142. >> forms definitions to go with this; they require some editing
  143. >> to mail because of embedded control characters, but I can
  144. >> send them to anyone who wants them.)
  145. >> 
  146. >> I print both normal text files and DVI files with this
  147. >> printer; the only thing you MUST do is include /PASSALL on
  148. >> the PRINT command for a DVI file.  (Note: The use of the
  149. >> same qualifier, /PASSALL, on both SET TERM and PRINT is
  150. >> unfortunate, as they mean different things.  SET
  151. >> TERM/PASSALL is obsolete and should not be used.
  152. >> PRINT/PASSALL is very much alive and needed here.
  153. >> 
  154.  
  155. To save me some writing, I'm including below the verbatim
  156. change log history between 22-Jun-87 (Newsletter #9) and
  157. now.
  158.  
  159. [14-Aug-87]     {Thanks to Matthias Moritz (U608017@NHYKUN11.EARN)
  160.                 for Atari support additions}
  161.                 Merged in support for the Atari 520ST+ using  the
  162.                 Mark Williams  C Compiler.   makefile.ast  should
  163.                 build it.  Since  this involves  changes in  many
  164.                 routines, I took the  opportunity to introduce  a
  165.                 few other changes  as well,  and incremented  the
  166.                 version number of dvi*.c from 2.07 to 2.08.   The
  167.                 new versions should be functionally identical  to
  168.                 the previous ones for virtually everyone.
  169.  
  170.                 The Mark Williams compiler has some  limitations,
  171.                 and could not handle  long macro definitions,  in
  172.                 particular  DEBUG_OPEN  and  FONTLIST.   I   have
  173.                 therefore made DEBUG_OPEN() expand to  dbgopen(),
  174.                 where  the  latter  is  defined  at  the  end  of
  175.                 dviinit.h;  this  does  not  follow  my  standard
  176.                 practice of one function per file.  FONTLIST  was
  177.                 simply removed, and the two instances of its  use
  178.                 were replaced by its definition.  There are about
  179.                 40 instances in the driver source code of  macros
  180.                 continued over multiple lines.  They are  written
  181.                 that way to prevent long lines in the source code
  182.                 (80 is the absolute limit), which is an even more
  183.                 serious barrier to portability.
  184.  
  185.                 The default stacksize on  the Atari is often  too
  186.                 small; for  the time  being, main  programs  have
  187.                 been set to  declare a larger  stack.  On PC  DOS
  188.                 (which Atari  GEMDOS  resembles),  the  Microsoft
  189.                 EXEMOD  utility  can  be   used  to  change   the
  190.                 stacksize  of  an   executable  program   without
  191.                 requiring  code  modification.    I  don't   know
  192.                 whether there is something similar on the Atari.
  193.  
  194.                 I removed the OS_xxxx-dependent conditional  code
  195.                 in dvi*.c for output file extension selection, by
  196.                 introduction of  a  new variable,  DVIPREFIX,  in
  197.                 machdefs.h.  This  is  prepended to  the  default
  198.                 file extension, which is now always identical  to
  199.                 the letters following  dvi in  the dvi*.c  files.
  200.                 On  systems  which  do  not  support  long   file
  201.                 extensions, it will be a null string;  otherwise,
  202.                 it will be "dvi-".
  203.  
  204.                 In dvialw.c, a  genuine BUG surfaced;  PSDEF_PATH
  205.                 should be  #define'd  to be  subpath  instead  of
  206.                 SUBPATH.  Otherwise, it  cannot be overridden  by
  207.                 an  environment  variable.   Thanks  to  Matthias
  208.                 Moritz for catching this one.
  209.  
  210.                 An experimental version of a Canon A2 driver  has
  211.                 been added as  dvica2.c, based on  work by  Pekka
  212.                 Pietilainen (TFYS-PP@FINOU.BITNET), starting from
  213.                 dvican.c.  I  have  merged  in  his  changes  and
  214.                 removed Unix-isms.  This driver is  intentionally
  215.                 not included in the Makefiles.  Only a few  sites
  216.                 have  the  Canon  A2   printer,  and  once   more
  217.                 experience is obtained, it may replace  dvican.c.
  218.                 If you have such a printer, you can easily modify
  219.                 the appropriate Makefile  to support  it, or  you
  220.                 can just compile and  load dvica2 manually.   For
  221.                 debugging  purposes,   three  additional   option
  222.                 switches are  accepted  in  option.h;  they  will
  223.                 disappear as the code settles.
  224.  
  225.                 More experience with the drivers at many VAX  VMS
  226.                 sites has indicated  that variable-length  record
  227.                 files for  the  output are  probably  undesirable
  228.                 until DEC gets its act in gear and makes all  VMS
  229.                 utilities handle  such  files properly.   I  have
  230.                 therefore modified the code  in dviinit.h to  use
  231.                 the  fixed-block  binary   format  for  all   but
  232.                 POSTSCRIPT devices (for which the output is truly
  233.                 an ordinary text  file); previously, this  format
  234.                 was only selected for IMPRESS (dviimp).
  235.  
  236.                 For non-Unix operating  systems, it is  generally
  237.                 necessary to open  binary files differently  than
  238.                 text files,  since  the C-runtime  libraries  use
  239.                 that distinction to decide how to translate  Unix
  240.                 line terminators.  Every system  so far has  used
  241.                 the letter  "b" in  the  fopen() mode  string  to
  242.                 select this mode, and  every Unix system  ignores
  243.                 the "b", except Ultrix,  which raises a  run-time
  244.                 error, sigh...   I  have therefore  replaced  the
  245.                 mode string by RB_OPEN and WB_OPEN, and they  are
  246.                 set in  machdefs.h.  For  all Unix  systems  they
  247.                 will be  "r"  and  "w",  and  for  most  non-Unix
  248.                 systems, "rb" and "wb".
  249.  
  250.                 Lines longer than  80 characters in  *.c and  *.h
  251.                 files have been wrapped.
  252.  
  253.                 The header "%!PS-Adobe-1.0" in dvialw.c has  been
  254.                 shortened to "%!";  the Adobe TranScript  spooler
  255.                 software thinks it is allowed to do page reversal
  256.                 when it sees this, but dvialw output pages cannot
  257.                 be reordered because  fonts are  defined only  on
  258.                 demand.  The similar  header in  lptops.c is  all
  259.                 right; the pages there ARE independent.
  260.  
  261.                 The sources have been run through 4.2BSD lint and
  262.                 System V  lint.  A  number of  missing  typecasts
  263.                 have  been  supplied,  and  several  unreferenced
  264.                 local variables have been eliminated.  lint still
  265.                 produces many  warnings, but  the remaining  ones
  266.                 seem to be benign, or simply red herrings.
  267.  
  268.                 lint revealed  numerous  problems  with  texidx.c
  269.                 (which  came  from  the  GNU  Project).   I  have
  270.                 eliminated unused  variables and  functions,  but
  271.                 there remain  some  serious errors  of  incorrect
  272.                 argument    lists    to    sort_in_core()     and
  273.                 sort_offline().  I am not proposing to fix  these
  274.                 now, because  at least  3 comprehensive  indexing
  275.                 packages for  TeX  have  appeared  recently,  and
  276.                 texidx.c may rapidly become obsolete.
  277.  
  278.                 I have changed the handling of some  preprocessor
  279.                 symbols in several  routines  so as to  eliminate
  280.                 redefinition warnings, and  any assumptions  that
  281.                 undefined symbols evaluate to 0.  The draft  ANSI
  282.                 C standard  REQUIRES that  all undefined  symbols
  283.                 evaluate to  0 in  preprocessor expressions,  but
  284.                 many compilers to  do yet follow  this rule  (VAX
  285.                 VMS C in particular).
  286.  
  287. [15-Aug-87]     {Thanks to Julian Perry (seismo!mcvax!zen.co.uk!jules)}
  288.                 The code  in option.h  in the  -o switch  section
  289.                 that forced page_begin[npage] <=  page_end[npage]
  290.                 conflicts with negative page numbers for counting
  291.                 from the end.  I have removed the code there, and
  292.                 then in  dvifile.h, before  the main  page  loop,
  293.                 inserted  code  to  reset  the  page_begin[]  and
  294.                 page_end[] arrays  to positive  values (this  can
  295.                 only be done after  page_count is known), and  to
  296.                 order them properly.
  297.  
  298.  
  299. [10-Aug-87]     {Thanks to Gary Beihl (beihl%bell.cad.mcc.com@mcc.com)}
  300.                 In  lw78.c  and  dvialw.c,  change  instances  of
  301.                 time(0) to time((long*)NULL).
  302.  
  303.  
  304. [27-Jul-87]     {Thanks to Charles Karney (Karney%ppc.mfenet@nmfecc.arpa)}
  305.                 Here are two small changes to vaxvms.c:
  306.  
  307.                 In vmsexit(), we turn on a high bit on a non-zero
  308.                 status code to suppress a useless VMS message:
  309.                 150,151c150,151
  310.                 <       exit((1 << 28) + 2);            /* error */
  311.                 <       break;                          /* (suppresses %NONAME-E-NOMSG) */
  312.                 ---
  313.                 >       exit(2);                        /* error */
  314.                 >       break;
  315.                 457d456
  316.  
  317.                 In system(),  add  a  test for  the  status  code
  318.                 returned by LIB$SPAWN; for the MAKE utility, this
  319.                 allows recognition  of  errors  returned  from  a
  320.                 compilation.
  321.  
  322.                 <       int stat;
  323.                 463,464c462
  324.                 <       return ((LIB$SPAWN(&t,0,0,0,0,0,&stat) == SS$_NORMAL)
  325.                 <           && ((stat & 1) > 0)) ? 0 : 127;
  326.                 ---
  327.                 >       return (LIB$SPAWN(&t) == SS$_NORMAL) ? 0 : 127;
  328.  
  329.  
  330. [20-Jul-87]
  331.                 Updated cross-referencing awk scripts for use  on
  332.                 Sun OS 3.3 using standard cxref utility, replaced
  333.                 old x*.awk  by  xref, xref1.awk,  xref2.awk,  and
  334.                 xref3.awk, and  replaced dvi.lrf  and dvi.rby  by
  335.                 dvi.xrf.
  336.  
  337.  
  338. [20-Jul-87]     {Thanks to Eric M. Carroll (Eric.M.Carroll@uunet.uu.net)}
  339.                 In  dvialw.c,  getlogin()   can  return  a   NULL
  340.                 pointer,  so  we  need  to  guard  against  that.
  341.                 Change
  342.  
  343.                 (void)fprintf(plotfp,"%%%%Creator: %s and ",getlogin());
  344.                 to
  345.                 (void)fprintf(plotfp,"%%%%Creator: %s and ",
  346.                     (getlogin() == (char*)NULL) ? "" : getlogin());
  347.  
  348.  
  349. [08-Jul-87]
  350.                 Update makefile.*  to  reflect  new  dvil3p,  and
  351.                 remove obsolete makefile.eun (for Eunice).
  352.  
  353.  
  354. [08-Jul-87]
  355.                 Add symbol  DECLN03PLUS  and change  SUBPATH  for
  356.                 Unix      from      /usr/lib/tex/inputs/       to
  357.                 /usr/lib/tex/macros  to   match  Washington   TeX
  358.                 distribution.
  359.  
  360.  
  361. [08-Jul-87]
  362.                 In gblprocs.h, add OS_VAXVMS to the list of hosts
  363.                 where sprintf() is not declared (because it is in
  364.                 system include files).
  365.  
  366.  
  367. [08-Jul-87]
  368.                 Change  type  of  main()  from  void  to  int  in
  369.                 gblprocs.h  and   main.h  to   bring  them   into
  370.                 conformance with the draft ANSI C Standard.
  371.  
  372.  
  373. [08-Jul-87]
  374.                 In fontfile.h, changed VMS  section to allow  for
  375.                 the possibility that TEXFONTS  is a logical  name
  376.                 list (thanks for John Sauter for this).
  377.  
  378.  
  379. [08-Jul-87]     {Thanks to John Sauter (Sauter@dssdev.dec.com)}
  380.                 Add dvil3p.c for DEC LN03+ printer.
  381.  
  382.  
  383. [08-Jul-87]
  384.                 In dvil75.c  in  prtbmap(), change  OUTC('-')  to
  385.                 OUTS("-\n") so as to avoid long output lines.
  386.  
  387. -------
  388.